package main

import (
	"time"
	"fmt"
)

func main() {
	ch := make(chan int, 10)

	go func() {
		for i := 1; i <= 10; i++ {
			fmt.Println("in :", i)
			ch <- i
		}
		// 主动关闭channel(关闭之后,如果channel里面还有值,还可以继续读取)(估计是关闭也是个入队操作)
		// channel 不需要向文件一样频繁的打开和关闭
		close(ch)
		time.Sleep(time.Second)
	}()

	for {
		data, ok := <-ch
		fmt.Println(data, ok)

		if false == ok {
			break
		}
	}
}
